package com.only4play.practice.pay.reconcile.core.model.payconfig;

import com.only4play.codegen.support.constants.ValidStatus;
import com.only4play.practice.common.enums.pay.OutPayChannelType;
import lombok.Data;

/**
 * 微信支付接入点配置信息
 * @author mengdy
 */
@Data
public class WechatPayConfig implements PayConfig{

    /** 是否沙箱环境 */
    private ValidStatus isSandbox;

    /** 是否服务商模式 */
    private ValidStatus isServiceProvider;

    /** 应用编号，普通商户模式下是普通商户appId,服务商模式下为服务商appId */
    private String appId;

    /** 子商户号的应用编号 */
    private String subAppId;

    /** appId 对应的接口密码 微信公众号授权获取用户 openId 时会使用到
     * 普通商户模式下是普通商户的 appSecret,服务商模式下为服务商的 appSecret
     * */
    private String appSecret;

    /** 子商户的appSecret */
    private String subAppSecret;

    /** 商户号 */
    private String mchNo;

    /** 子商户号 */
    private String subMchNo;

    /** API 密钥，微信商户后台配置 TODO 是否有V2 与V3 版本 区别*/
    private String partnerKey;

    // api client_cert.p12 证书绝对路径，在微信商户后台下载
    private String weChatCertPath;
    // 微信商户证书内容，base64编码
    private String weChatCertB64;


    // 回调通知域名
    private String domain;

    @Override
    public OutPayChannelType getChannelType() {
        return OutPayChannelType.WECHAT;
    }


    // *********************v3 版本配置 参数************************* //

}
